<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Ipopt: Ipopt::AlgorithmBuilder Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 40px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Ipopt Documentation
   &#160;<!--span id="projectnumber">3.14.12</span-->
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classIpopt_1_1AlgorithmBuilder.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classIpopt_1_1AlgorithmBuilder-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Ipopt::AlgorithmBuilder Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Builder for creating a complete IpoptAlg object.  
 <a href="classIpopt_1_1AlgorithmBuilder.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Ipopt::AlgorithmBuilder:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classIpopt_1_1AlgorithmBuilder__inherit__graph.png" border="0" usemap="#Ipopt_1_1AlgorithmBuilder_inherit__map" alt="Inheritance graph"/></div>
<map name="Ipopt_1_1AlgorithmBuilder_inherit__map" id="Ipopt_1_1AlgorithmBuilder_inherit__map">
<area shape="rect" title="Builder for creating a complete IpoptAlg object." alt="" coords="29,80,203,107"/>
<area shape="rect" href="classIpopt_1_1InexactAlgorithmBuilder.html" title="Builder to create a complete IpoptAlg object for the inexact step computation version." alt="" coords="5,155,227,181"/>
<area shape="rect" href="classIpopt_1_1ReferencedObject.html" title="Storing the reference count of all the smart pointers that currently reference it." alt="" coords="27,5,205,32"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors/Destructors</div></td></tr>
<tr class="memitem:aaa3a6b274cc5be9e07f14d9f044baaac"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#aaa3a6b274cc5be9e07f14d9f044baaac">AlgorithmBuilder</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1AugSystemSolver.html">AugSystemSolver</a> &gt; custom_solver=NULL, const std::string &amp;custom_solver_name=std::string())</td></tr>
<tr class="memdesc:aaa3a6b274cc5be9e07f14d9f044baaac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="classIpopt_1_1AlgorithmBuilder.html#aaa3a6b274cc5be9e07f14d9f044baaac">More...</a><br /></td></tr>
<tr class="separator:aaa3a6b274cc5be9e07f14d9f044baaac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18821e7bb80c2318d0df4c511ed15eed"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a18821e7bb80c2318d0df4c511ed15eed">~AlgorithmBuilder</a> ()</td></tr>
<tr class="memdesc:a18821e7bb80c2318d0df4c511ed15eed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="classIpopt_1_1AlgorithmBuilder.html#a18821e7bb80c2318d0df4c511ed15eed">More...</a><br /></td></tr>
<tr class="separator:a18821e7bb80c2318d0df4c511ed15eed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Convenience methods for building solvers without having</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>to duplicate the significant amount of preprocessor flag and option checking that takes place.</p>
<p>These solvers are used to create a number of core algorithm components across the different Build* methods, but depending on what options are chosen, the first method requiring the solver to be used can vary. Therefore, each of the Factory methods below is paired with a Getter method, which is called by all parts of this algorithm builder to ensure the Factory is only called once. </p>
</div></td></tr>
<tr class="memitem:a436c8f3d98eea4b608d3c61dd86726d6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1SymLinearSolver.html">SymLinearSolver</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a436c8f3d98eea4b608d3c61dd86726d6">SymLinearSolverFactory</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a436c8f3d98eea4b608d3c61dd86726d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a solver that can be used to solve a symmetric linear system.  <a href="classIpopt_1_1AlgorithmBuilder.html#a436c8f3d98eea4b608d3c61dd86726d6">More...</a><br /></td></tr>
<tr class="separator:a436c8f3d98eea4b608d3c61dd86726d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6be3bf8b1423f7d20487a461bc3c3ad9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1SymLinearSolver.html">SymLinearSolver</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6be3bf8b1423f7d20487a461bc3c3ad9">GetSymLinearSolver</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a6be3bf8b1423f7d20487a461bc3c3ad9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the symmetric linear system solver for this algorithm.  <a href="classIpopt_1_1AlgorithmBuilder.html#a6be3bf8b1423f7d20487a461bc3c3ad9">More...</a><br /></td></tr>
<tr class="separator:a6be3bf8b1423f7d20487a461bc3c3ad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fecc5ce0f8a0baee495d9f36416324c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1AugSystemSolver.html">AugSystemSolver</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a7fecc5ce0f8a0baee495d9f36416324c">AugSystemSolverFactory</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a7fecc5ce0f8a0baee495d9f36416324c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a solver that can be used to solve an augmented system.  <a href="classIpopt_1_1AlgorithmBuilder.html#a7fecc5ce0f8a0baee495d9f36416324c">More...</a><br /></td></tr>
<tr class="separator:a7fecc5ce0f8a0baee495d9f36416324c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6847f5a0e9147c1de50dbe6c67229afb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1AugSystemSolver.html">AugSystemSolver</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6847f5a0e9147c1de50dbe6c67229afb">GetAugSystemSolver</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a6847f5a0e9147c1de50dbe6c67229afb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the augmented system solver for this algorithm.  <a href="classIpopt_1_1AlgorithmBuilder.html#a6847f5a0e9147c1de50dbe6c67229afb">More...</a><br /></td></tr>
<tr class="separator:a6847f5a0e9147c1de50dbe6c67229afb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a053ae9a86c5c4942a78a524883d99b00"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1PDSystemSolver.html">PDSystemSolver</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a053ae9a86c5c4942a78a524883d99b00">PDSystemSolverFactory</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a053ae9a86c5c4942a78a524883d99b00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a solver that can be used to solve a primal-dual system.  <a href="classIpopt_1_1AlgorithmBuilder.html#a053ae9a86c5c4942a78a524883d99b00">More...</a><br /></td></tr>
<tr class="separator:a053ae9a86c5c4942a78a524883d99b00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e7582ed62141c7adecc59dd2dc05927"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1PDSystemSolver.html">PDSystemSolver</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a3e7582ed62141c7adecc59dd2dc05927">GetPDSystemSolver</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a3e7582ed62141c7adecc59dd2dc05927"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the primal-dual system solver for this algorithm.  <a href="classIpopt_1_1AlgorithmBuilder.html#a3e7582ed62141c7adecc59dd2dc05927">More...</a><br /></td></tr>
<tr class="separator:a3e7582ed62141c7adecc59dd2dc05927"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Methods to build parts of the algorithm</div></td></tr>
<tr class="memitem:a2953c0448545f160bd83b45dd4bc6a0c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a2953c0448545f160bd83b45dd4bc6a0c">BuildIpoptObjects</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix, const <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1NLP.html">NLP</a> &gt; &amp;nlp, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &gt; &amp;ip_nlp, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &gt; &amp;ip_data, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &gt; &amp;ip_cq)</td></tr>
<tr class="memdesc:a2953c0448545f160bd83b45dd4bc6a0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates memory for the <a class="el" href="classIpopt_1_1IpoptNLP.html" title="This is the abstract base class for classes that map the traditional NLP into something that is more ...">IpoptNLP</a>, <a class="el" href="classIpopt_1_1IpoptData.html" title="Class to organize all the data required by the algorithm.">IpoptData</a>, and IpoptCalculatedQuanties arguments.  <a href="classIpopt_1_1AlgorithmBuilder.html#a2953c0448545f160bd83b45dd4bc6a0c">More...</a><br /></td></tr>
<tr class="separator:a2953c0448545f160bd83b45dd4bc6a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdf17b51802c7fac249336ad6d3832c6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptAlgorithm.html">IpoptAlgorithm</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#abdf17b51802c7fac249336ad6d3832c6">BuildBasicAlgorithm</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:abdf17b51802c7fac249336ad6d3832c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an instance of the <a class="el" href="classIpopt_1_1IpoptAlgorithm.html" title="The main ipopt algorithm class.">IpoptAlgorithm</a> class by building each of its required constructor arguments piece-by-piece.  <a href="classIpopt_1_1AlgorithmBuilder.html#abdf17b51802c7fac249336ad6d3832c6">More...</a><br /></td></tr>
<tr class="separator:abdf17b51802c7fac249336ad6d3832c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c6e38cc401241be6a15f6a1a10c9d91"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IterationOutput.html">IterationOutput</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a9c6e38cc401241be6a15f6a1a10c9d91">BuildIterationOutput</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a9c6e38cc401241be6a15f6a1a10c9d91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an instance of the <a class="el" href="classIpopt_1_1IterationOutput.html" title="Base class for objects that do the output summary per iteration.">IterationOutput</a> class.  <a href="classIpopt_1_1AlgorithmBuilder.html#a9c6e38cc401241be6a15f6a1a10c9d91">More...</a><br /></td></tr>
<tr class="separator:a9c6e38cc401241be6a15f6a1a10c9d91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4646cc682cbb462505b2dafd3971ef2d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1HessianUpdater.html">HessianUpdater</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a4646cc682cbb462505b2dafd3971ef2d">BuildHessianUpdater</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a4646cc682cbb462505b2dafd3971ef2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an instance of the <a class="el" href="classIpopt_1_1HessianUpdater.html" title="Abstract base class for objects responsible for updating the Hessian information.">HessianUpdater</a> class.  <a href="classIpopt_1_1AlgorithmBuilder.html#a4646cc682cbb462505b2dafd3971ef2d">More...</a><br /></td></tr>
<tr class="separator:a4646cc682cbb462505b2dafd3971ef2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa020b294b548424d7e628d562bf4efb5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1ConvergenceCheck.html">ConvergenceCheck</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#aa020b294b548424d7e628d562bf4efb5">BuildConvergenceCheck</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:aa020b294b548424d7e628d562bf4efb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an instance of the <a class="el" href="classIpopt_1_1ConvergenceCheck.html" title="Base class for checking the algorithm termination criteria.">ConvergenceCheck</a> class.  <a href="classIpopt_1_1AlgorithmBuilder.html#aa020b294b548424d7e628d562bf4efb5">More...</a><br /></td></tr>
<tr class="separator:aa020b294b548424d7e628d562bf4efb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50dad29fcb145332c29c90303806b18f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1SearchDirectionCalculator.html">SearchDirectionCalculator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a50dad29fcb145332c29c90303806b18f">BuildSearchDirectionCalculator</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a50dad29fcb145332c29c90303806b18f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an instance of the <a class="el" href="classIpopt_1_1SearchDirectionCalculator.html" title="Base class for computing the search direction for the line search.">SearchDirectionCalculator</a> class.  <a href="classIpopt_1_1AlgorithmBuilder.html#a50dad29fcb145332c29c90303806b18f">More...</a><br /></td></tr>
<tr class="separator:a50dad29fcb145332c29c90303806b18f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d83d92bfdc591752daae787112e0edd"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1EqMultiplierCalculator.html">EqMultiplierCalculator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a4d83d92bfdc591752daae787112e0edd">BuildEqMultiplierCalculator</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a4d83d92bfdc591752daae787112e0edd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an instance of the <a class="el" href="classIpopt_1_1EqMultiplierCalculator.html" title="Base Class for objects that compute estimates for the equality constraint multipliers y_c and y_d.">EqMultiplierCalculator</a> class.  <a href="classIpopt_1_1AlgorithmBuilder.html#a4d83d92bfdc591752daae787112e0edd">More...</a><br /></td></tr>
<tr class="separator:a4d83d92bfdc591752daae787112e0edd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e6b45ff582a9f53b2f276bbe8772234"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IterateInitializer.html">IterateInitializer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a2e6b45ff582a9f53b2f276bbe8772234">BuildIterateInitializer</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a2e6b45ff582a9f53b2f276bbe8772234"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an instance of the <a class="el" href="classIpopt_1_1IterateInitializer.html" title="Base class for all methods for initializing the iterates.">IterateInitializer</a> class.  <a href="classIpopt_1_1AlgorithmBuilder.html#a2e6b45ff582a9f53b2f276bbe8772234">More...</a><br /></td></tr>
<tr class="separator:a2e6b45ff582a9f53b2f276bbe8772234"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0f2e4da5b89ba9427a2e6c16b7c51e6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1LineSearch.html">LineSearch</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#ad0f2e4da5b89ba9427a2e6c16b7c51e6">BuildLineSearch</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:ad0f2e4da5b89ba9427a2e6c16b7c51e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an instance of the <a class="el" href="classIpopt_1_1LineSearch.html" title="Base class for line search objects.">LineSearch</a> class.  <a href="classIpopt_1_1AlgorithmBuilder.html#ad0f2e4da5b89ba9427a2e6c16b7c51e6">More...</a><br /></td></tr>
<tr class="separator:ad0f2e4da5b89ba9427a2e6c16b7c51e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca97676a45d30990cc7331fa32f66d9f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MuUpdate.html">MuUpdate</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#aca97676a45d30990cc7331fa32f66d9f">BuildMuUpdate</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:aca97676a45d30990cc7331fa32f66d9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an instance of the <a class="el" href="classIpopt_1_1MuUpdate.html" title="Abstract Base Class for classes that implement methods for computing the barrier and fraction-to-the-...">MuUpdate</a> class.  <a href="classIpopt_1_1AlgorithmBuilder.html#aca97676a45d30990cc7331fa32f66d9f">More...</a><br /></td></tr>
<tr class="separator:aca97676a45d30990cc7331fa32f66d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classIpopt_1_1ReferencedObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classIpopt_1_1ReferencedObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classIpopt_1_1ReferencedObject.html">Ipopt::ReferencedObject</a></td></tr>
<tr class="memitem:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#a5c0f2208e3ead22bf7c5179381ed8203">ReferencedObject</a> ()</td></tr>
<tr class="separator:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#adbbf3aa5307da62ab8224ba599d4bd7a">~ReferencedObject</a> ()</td></tr>
<tr class="separator:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aac517534e10e36c946aeefc6fe337777">ReferenceCount</a> () const</td></tr>
<tr class="separator:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aa69ecb0f026bd741e2fa84c31d4ec332">AddRef</a> (const <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *referencer) const</td></tr>
<tr class="separator:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#ae6c952e7d1a63080dc8f121c008944fc">ReleaseRef</a> (const <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *referencer) const</td></tr>
<tr class="separator:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:abb36238fabd5aa3ea5f6ecfc4c40d6a7"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#abb36238fabd5aa3ea5f6ecfc4c40d6a7">RegisterOptions</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1RegisteredOptions.html">RegisteredOptions</a> &gt; roptions)</td></tr>
<tr class="memdesc:abb36238fabd5aa3ea5f6ecfc4c40d6a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Methods for IpoptTypeInfo.  <a href="classIpopt_1_1AlgorithmBuilder.html#abb36238fabd5aa3ea5f6ecfc4c40d6a7">More...</a><br /></td></tr>
<tr class="separator:abb36238fabd5aa3ea5f6ecfc4c40d6a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ab11e150dab91f35013c5a6df6e490e5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1LibraryLoader.html">LibraryLoader</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#ab11e150dab91f35013c5a6df6e490e5d">GetHSLLoader</a> (const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:ab11e150dab91f35013c5a6df6e490e5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gives Library Loader for HSL library if not all HSL routines are linked in.  <a href="classIpopt_1_1AlgorithmBuilder.html#ab11e150dab91f35013c5a6df6e490e5d">More...</a><br /></td></tr>
<tr class="separator:ab11e150dab91f35013c5a6df6e490e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43dd8b351517c5aae6aac89ba24d7b6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1LibraryLoader.html">LibraryLoader</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a43dd8b351517c5aae6aac89ba24d7b6a">GetPardisoLoader</a> (const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:a43dd8b351517c5aae6aac89ba24d7b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gives Library Loader for Pardiso library from pardiso-project.org.  <a href="classIpopt_1_1AlgorithmBuilder.html#a43dd8b351517c5aae6aac89ba24d7b6a">More...</a><br /></td></tr>
<tr class="separator:a43dd8b351517c5aae6aac89ba24d7b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Default Compiler Generated Methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>(Hidden to avoid implicit creation/calling).</p>
<p>These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. </p>
</div></td></tr>
<tr class="memitem:a202fdd28a808014a79e84f1152bbc50f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a202fdd28a808014a79e84f1152bbc50f">AlgorithmBuilder</a> (const <a class="el" href="classIpopt_1_1AlgorithmBuilder.html">AlgorithmBuilder</a> &amp;)</td></tr>
<tr class="memdesc:a202fdd28a808014a79e84f1152bbc50f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <a href="classIpopt_1_1AlgorithmBuilder.html#a202fdd28a808014a79e84f1152bbc50f">More...</a><br /></td></tr>
<tr class="separator:a202fdd28a808014a79e84f1152bbc50f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeaeac5231b27b60d8e609b381c34fd2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#aaeaeac5231b27b60d8e609b381c34fd2">operator=</a> (const <a class="el" href="classIpopt_1_1AlgorithmBuilder.html">AlgorithmBuilder</a> &amp;)</td></tr>
<tr class="memdesc:aaeaeac5231b27b60d8e609b381c34fd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Assignment Operator.  <a href="classIpopt_1_1AlgorithmBuilder.html#aaeaeac5231b27b60d8e609b381c34fd2">More...</a><br /></td></tr>
<tr class="separator:aaeaeac5231b27b60d8e609b381c34fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a5ec5728bfc607550d2aa959ea21c0aeb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1AugSystemSolver.html">AugSystemSolver</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a5ec5728bfc607550d2aa959ea21c0aeb">custom_solver_</a></td></tr>
<tr class="memdesc:a5ec5728bfc607550d2aa959ea21c0aeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional pointer to <a class="el" href="classIpopt_1_1AugSystemSolver.html" title="Base class for Solver for the augmented system.">AugSystemSolver</a>.  <a href="classIpopt_1_1AlgorithmBuilder.html#a5ec5728bfc607550d2aa959ea21c0aeb">More...</a><br /></td></tr>
<tr class="separator:a5ec5728bfc607550d2aa959ea21c0aeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c46e3b2a67ff8821ade55e75d4b1f5e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a7c46e3b2a67ff8821ade55e75d4b1f5e">custom_solver_name_</a></td></tr>
<tr class="separator:a7c46e3b2a67ff8821ade55e75d4b1f5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e27141c7973772601b94ba6951ded3a"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6e27141c7973772601b94ba6951ded3a">linear_solver</a></td></tr>
<tr class="memdesc:a6e27141c7973772601b94ba6951ded3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">name of linear solver constructed in SymLinearSolverFactory  <a href="classIpopt_1_1AlgorithmBuilder.html#a6e27141c7973772601b94ba6951ded3a">More...</a><br /></td></tr>
<tr class="separator:a6e27141c7973772601b94ba6951ded3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85319d417ac6fd8e8ced7bf1a7f32425"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1LibraryLoader.html">LibraryLoader</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a85319d417ac6fd8e8ced7bf1a7f32425">hslloader</a></td></tr>
<tr class="memdesc:a85319d417ac6fd8e8ced7bf1a7f32425"><td class="mdescLeft">&#160;</td><td class="mdescRight">loader of HSL library (at runtime)  <a href="classIpopt_1_1AlgorithmBuilder.html#a85319d417ac6fd8e8ced7bf1a7f32425">More...</a><br /></td></tr>
<tr class="separator:a85319d417ac6fd8e8ced7bf1a7f32425"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7580ffc652324bb5b198ff50cc0110ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1LibraryLoader.html">LibraryLoader</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a7580ffc652324bb5b198ff50cc0110ec">pardisoloader</a></td></tr>
<tr class="memdesc:a7580ffc652324bb5b198ff50cc0110ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">loader of Pardiso library (at runtime)  <a href="classIpopt_1_1AlgorithmBuilder.html#a7580ffc652324bb5b198ff50cc0110ec">More...</a><br /></td></tr>
<tr class="separator:a7580ffc652324bb5b198ff50cc0110ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">IpoptAlgorithm constructor arguments.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>These components are built in separate Build methods in the order defined by BuildBasicAlgorithm.</p>
<p>A single core component may require one or more other core components in its constructor, so the this class holds pointers to each component for use between the separate Build methods. </p>
</div></td></tr>
<tr class="memitem:a25b5ea1d912348a3366d15b2250b167d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IterationOutput.html">IterationOutput</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a25b5ea1d912348a3366d15b2250b167d">IterOutput_</a></td></tr>
<tr class="separator:a25b5ea1d912348a3366d15b2250b167d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2dd530dc64edd2e192df383cb9493d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1HessianUpdater.html">HessianUpdater</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#aa2dd530dc64edd2e192df383cb9493d8">HessUpdater_</a></td></tr>
<tr class="separator:aa2dd530dc64edd2e192df383cb9493d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59a5e839ff6dfaa30265f52b9234f6c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1ConvergenceCheck.html">ConvergenceCheck</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a59a5e839ff6dfaa30265f52b9234f6c7">ConvCheck_</a></td></tr>
<tr class="separator:a59a5e839ff6dfaa30265f52b9234f6c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f0d0f22e70d38806921299599ee759d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1SearchDirectionCalculator.html">SearchDirectionCalculator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a8f0d0f22e70d38806921299599ee759d">SearchDirCalc_</a></td></tr>
<tr class="separator:a8f0d0f22e70d38806921299599ee759d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a5ae0ad7cc06b68d9bf7d8959b98541"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1EqMultiplierCalculator.html">EqMultiplierCalculator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a1a5ae0ad7cc06b68d9bf7d8959b98541">EqMultCalculator_</a></td></tr>
<tr class="separator:a1a5ae0ad7cc06b68d9bf7d8959b98541"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4da0e00ff35e8f9b1db5ed4943f2e68d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IterateInitializer.html">IterateInitializer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a4da0e00ff35e8f9b1db5ed4943f2e68d">IterInitializer_</a></td></tr>
<tr class="separator:a4da0e00ff35e8f9b1db5ed4943f2e68d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8aba5dc5217f849feb116a269746f22"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1LineSearch.html">LineSearch</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#ad8aba5dc5217f849feb116a269746f22">LineSearch_</a></td></tr>
<tr class="separator:ad8aba5dc5217f849feb116a269746f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4b42bf9d3d0fe823cb565e8bd0a445d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MuUpdate.html">MuUpdate</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#ac4b42bf9d3d0fe823cb565e8bd0a445d">MuUpdate_</a></td></tr>
<tr class="separator:ac4b42bf9d3d0fe823cb565e8bd0a445d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Commonly used solver components</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>for building core algorithm components.</p>
<p>Each of these members is paired with a Factory/Getter method. </p>
</div></td></tr>
<tr class="memitem:a8ce5db5fee1a45eb5002a6201d2ee18e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1SymLinearSolver.html">SymLinearSolver</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a8ce5db5fee1a45eb5002a6201d2ee18e">SymSolver_</a></td></tr>
<tr class="separator:a8ce5db5fee1a45eb5002a6201d2ee18e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0742230fea632ba454d0131313f1b4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1AugSystemSolver.html">AugSystemSolver</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#ab0742230fea632ba454d0131313f1b4f">AugSolver_</a></td></tr>
<tr class="separator:ab0742230fea632ba454d0131313f1b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaac1bde5d745bd769a2d79edad33a95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1PDSystemSolver.html">PDSystemSolver</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmBuilder.html#aeaac1bde5d745bd769a2d79edad33a95">PDSolver_</a></td></tr>
<tr class="separator:aeaac1bde5d745bd769a2d79edad33a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Builder for creating a complete IpoptAlg object. </p>
<p>This object contains all subelements (such as line search objects etc). How the resulting IpoptAlg object is built can be influenced by the options.</p>
<p>More advanced customization can be achieved by subclassing this class and overloading the virtual methods that build the individual parts. The advantage of doing this is that it allows one to reuse the extensive amount of options processing that takes place, for instance, when generating the symmetric linear system solver. Another method for customizing the algorithm is using the optional custom_solver argument, which allows the expert user to provide a specialized linear solver for the augmented system (e.g., type <a class="el" href="classIpopt_1_1GenAugSystemSolver.html" title="Solver for the augmented system using GenKKTSolverInterfaces.">GenAugSystemSolver</a>), possibly for user-defined matrix objects. The optional custom_solver constructor argument is likely obsolete, however, as more control over this this process can be achieved by implementing a subclass of this AlgBuilder (e.g., by overloading the AugSystemSolverFactory method). </p>

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00049">49</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aaa3a6b274cc5be9e07f14d9f044baaac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa3a6b274cc5be9e07f14d9f044baaac">&#9670;&nbsp;</a></span>AlgorithmBuilder() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::AlgorithmBuilder::AlgorithmBuilder </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1AugSystemSolver.html">AugSystemSolver</a> &gt;&#160;</td>
          <td class="paramname"><em>custom_solver</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>custom_solver_name</em> = <code>std::string()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">custom_solver</td><td>custom linear solver interface object </td></tr>
    <tr><td class="paramname">custom_solver_name</td><td>name of custom linear solver (since 3.14.12) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a18821e7bb80c2318d0df4c511ed15eed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18821e7bb80c2318d0df4c511ed15eed">&#9670;&nbsp;</a></span>~AlgorithmBuilder()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual Ipopt::AlgorithmBuilder::~AlgorithmBuilder </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00061">61</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="a202fdd28a808014a79e84f1152bbc50f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a202fdd28a808014a79e84f1152bbc50f">&#9670;&nbsp;</a></span>AlgorithmBuilder() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::AlgorithmBuilder::AlgorithmBuilder </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1AlgorithmBuilder.html">AlgorithmBuilder</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Constructor. </p>
<p>Copy Constructor </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="abb36238fabd5aa3ea5f6ecfc4c40d6a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb36238fabd5aa3ea5f6ecfc4c40d6a7">&#9670;&nbsp;</a></span>RegisterOptions()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void Ipopt::AlgorithmBuilder::RegisterOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1RegisteredOptions.html">RegisteredOptions</a> &gt;&#160;</td>
          <td class="paramname"><em>roptions</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Methods for IpoptTypeInfo. </p>
<p>register the options used by the algorithm builder </p>

</div>
</div>
<a id="a436c8f3d98eea4b608d3c61dd86726d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a436c8f3d98eea4b608d3c61dd86726d6">&#9670;&nbsp;</a></span>SymLinearSolverFactory()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1SymLinearSolver.html">SymLinearSolver</a>&gt; Ipopt::AlgorithmBuilder::SymLinearSolverFactory </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a solver that can be used to solve a symmetric linear system. </p>
<p>Dependencies: None </p>

</div>
</div>
<a id="a6be3bf8b1423f7d20487a461bc3c3ad9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6be3bf8b1423f7d20487a461bc3c3ad9">&#9670;&nbsp;</a></span>GetSymLinearSolver()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1SymLinearSolver.html">SymLinearSolver</a>&gt; Ipopt::AlgorithmBuilder::GetSymLinearSolver </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the symmetric linear system solver for this algorithm. </p>
<p>This method will call the SymLinearSolverFactory exactly once (the first time it is used), and store its instance on SymSolver_ for use in subsequent calls. </p>

</div>
</div>
<a id="a7fecc5ce0f8a0baee495d9f36416324c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fecc5ce0f8a0baee495d9f36416324c">&#9670;&nbsp;</a></span>AugSystemSolverFactory()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1AugSystemSolver.html">AugSystemSolver</a>&gt; Ipopt::AlgorithmBuilder::AugSystemSolverFactory </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a solver that can be used to solve an augmented system. </p>
<p>Dependencies: -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6be3bf8b1423f7d20487a461bc3c3ad9" title="Get the symmetric linear system solver for this algorithm.">GetSymLinearSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a436c8f3d98eea4b608d3c61dd86726d6" title="Create a solver that can be used to solve a symmetric linear system.">SymLinearSolverFactory()</a> -&gt; custom_solver_ </p>

</div>
</div>
<a id="a6847f5a0e9147c1de50dbe6c67229afb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6847f5a0e9147c1de50dbe6c67229afb">&#9670;&nbsp;</a></span>GetAugSystemSolver()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1AugSystemSolver.html">AugSystemSolver</a>&gt; Ipopt::AlgorithmBuilder::GetAugSystemSolver </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the augmented system solver for this algorithm. </p>
<p>This method will call the AugSystemSolverFactory exactly once (the first time it is used), and store its instance on AugSolver_ for use in subsequent calls. </p>

</div>
</div>
<a id="a053ae9a86c5c4942a78a524883d99b00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a053ae9a86c5c4942a78a524883d99b00">&#9670;&nbsp;</a></span>PDSystemSolverFactory()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1PDSystemSolver.html">PDSystemSolver</a>&gt; Ipopt::AlgorithmBuilder::PDSystemSolverFactory </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a solver that can be used to solve a primal-dual system. </p>
<p>Dependencies: -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6847f5a0e9147c1de50dbe6c67229afb" title="Get the augmented system solver for this algorithm.">GetAugSystemSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a7fecc5ce0f8a0baee495d9f36416324c" title="Create a solver that can be used to solve an augmented system.">AugSystemSolverFactory()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6be3bf8b1423f7d20487a461bc3c3ad9" title="Get the symmetric linear system solver for this algorithm.">GetSymLinearSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a436c8f3d98eea4b608d3c61dd86726d6" title="Create a solver that can be used to solve a symmetric linear system.">SymLinearSolverFactory()</a> -&gt; custom_solver_ </p>

</div>
</div>
<a id="a3e7582ed62141c7adecc59dd2dc05927"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e7582ed62141c7adecc59dd2dc05927">&#9670;&nbsp;</a></span>GetPDSystemSolver()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1PDSystemSolver.html">PDSystemSolver</a>&gt; Ipopt::AlgorithmBuilder::GetPDSystemSolver </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the primal-dual system solver for this algorithm. </p>
<p>This method will call the PDSystemSolverFactory exactly once (the first time it is used), and store its instance on PDSolver_ for use in subsequent calls. </p>

</div>
</div>
<a id="a2953c0448545f160bd83b45dd4bc6a0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2953c0448545f160bd83b45dd4bc6a0c">&#9670;&nbsp;</a></span>BuildIpoptObjects()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Ipopt::AlgorithmBuilder::BuildIpoptObjects </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1NLP.html">NLP</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>nlp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>ip_nlp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>ip_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>ip_cq</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allocates memory for the <a class="el" href="classIpopt_1_1IpoptNLP.html" title="This is the abstract base class for classes that map the traditional NLP into something that is more ...">IpoptNLP</a>, <a class="el" href="classIpopt_1_1IpoptData.html" title="Class to organize all the data required by the algorithm.">IpoptData</a>, and IpoptCalculatedQuanties arguments. </p>
<p>Dependencies: None </p>

<p>Reimplemented in <a class="el" href="classIpopt_1_1InexactAlgorithmBuilder.html#a6b7aa7ba6715ed9b4ace24b6ed5c6d55">Ipopt::InexactAlgorithmBuilder</a>.</p>

</div>
</div>
<a id="abdf17b51802c7fac249336ad6d3832c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdf17b51802c7fac249336ad6d3832c6">&#9670;&nbsp;</a></span>BuildBasicAlgorithm()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1IpoptAlgorithm.html">IpoptAlgorithm</a>&gt; Ipopt::AlgorithmBuilder::BuildBasicAlgorithm </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an instance of the <a class="el" href="classIpopt_1_1IpoptAlgorithm.html" title="The main ipopt algorithm class.">IpoptAlgorithm</a> class by building each of its required constructor arguments piece-by-piece. </p>
<p>The default algorithm can be customized by overloading this method or by overloading one or more of the Build* methods called in this method's default implementation. Additional control can be achieved by overloading any of the *SolverFactory methods. This method will call (in this order): -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a9c6e38cc401241be6a15f6a1a10c9d91" title="Creates an instance of the IterationOutput class.">BuildIterationOutput()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a4646cc682cbb462505b2dafd3971ef2d" title="Creates an instance of the HessianUpdater class.">BuildHessianUpdater()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#aa020b294b548424d7e628d562bf4efb5" title="Creates an instance of the ConvergenceCheck class.">BuildConvergenceCheck()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a50dad29fcb145332c29c90303806b18f" title="Creates an instance of the SearchDirectionCalculator class.">BuildSearchDirectionCalculator()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a4d83d92bfdc591752daae787112e0edd" title="Creates an instance of the EqMultiplierCalculator class.">BuildEqMultiplierCalculator()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a2e6b45ff582a9f53b2f276bbe8772234" title="Creates an instance of the IterateInitializer class.">BuildIterateInitializer()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#ad0f2e4da5b89ba9427a2e6c16b7c51e6" title="Creates an instance of the LineSearch class.">BuildLineSearch()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#aca97676a45d30990cc7331fa32f66d9f" title="Creates an instance of the MuUpdate class.">BuildMuUpdate()</a> </p>

<p>Reimplemented in <a class="el" href="classIpopt_1_1InexactAlgorithmBuilder.html#a0e62eb15d0cbc0e5d2a762fa9792d571">Ipopt::InexactAlgorithmBuilder</a>.</p>

</div>
</div>
<a id="a9c6e38cc401241be6a15f6a1a10c9d91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c6e38cc401241be6a15f6a1a10c9d91">&#9670;&nbsp;</a></span>BuildIterationOutput()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1IterationOutput.html">IterationOutput</a>&gt; Ipopt::AlgorithmBuilder::BuildIterationOutput </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an instance of the <a class="el" href="classIpopt_1_1IterationOutput.html" title="Base class for objects that do the output summary per iteration.">IterationOutput</a> class. </p>
<p>This method is called in the default implementation of BuildBasicAlgorithm. It can be overloaded to customize that portion the default algorithm. Dependencies: None </p>

</div>
</div>
<a id="a4646cc682cbb462505b2dafd3971ef2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4646cc682cbb462505b2dafd3971ef2d">&#9670;&nbsp;</a></span>BuildHessianUpdater()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1HessianUpdater.html">HessianUpdater</a>&gt; Ipopt::AlgorithmBuilder::BuildHessianUpdater </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an instance of the <a class="el" href="classIpopt_1_1HessianUpdater.html" title="Abstract base class for objects responsible for updating the Hessian information.">HessianUpdater</a> class. </p>
<p>This method is called in the default implementation of BuildBasicAlgorithm. It can be overloaded to customize that portion the default algorithm. Dependencies: None </p>

</div>
</div>
<a id="aa020b294b548424d7e628d562bf4efb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa020b294b548424d7e628d562bf4efb5">&#9670;&nbsp;</a></span>BuildConvergenceCheck()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1ConvergenceCheck.html">ConvergenceCheck</a>&gt; Ipopt::AlgorithmBuilder::BuildConvergenceCheck </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an instance of the <a class="el" href="classIpopt_1_1ConvergenceCheck.html" title="Base class for checking the algorithm termination criteria.">ConvergenceCheck</a> class. </p>
<p>This method is called in the default implementation of BuildBasicAlgorithm. It can be overloaded to customize that portion the default algorithm. Dependencies: None </p>

</div>
</div>
<a id="a50dad29fcb145332c29c90303806b18f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50dad29fcb145332c29c90303806b18f">&#9670;&nbsp;</a></span>BuildSearchDirectionCalculator()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1SearchDirectionCalculator.html">SearchDirectionCalculator</a>&gt; Ipopt::AlgorithmBuilder::BuildSearchDirectionCalculator </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an instance of the <a class="el" href="classIpopt_1_1SearchDirectionCalculator.html" title="Base class for computing the search direction for the line search.">SearchDirectionCalculator</a> class. </p>
<p>This method is called in the default implementation of BuildBasicAlgorithm. It can be overloaded to customize that portion the default algorithm. Dependencies: -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a3e7582ed62141c7adecc59dd2dc05927" title="Get the primal-dual system solver for this algorithm.">GetPDSystemSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a053ae9a86c5c4942a78a524883d99b00" title="Create a solver that can be used to solve a primal-dual system.">PDSystemSolverFactory()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6847f5a0e9147c1de50dbe6c67229afb" title="Get the augmented system solver for this algorithm.">GetAugSystemSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a7fecc5ce0f8a0baee495d9f36416324c" title="Create a solver that can be used to solve an augmented system.">AugSystemSolverFactory()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6be3bf8b1423f7d20487a461bc3c3ad9" title="Get the symmetric linear system solver for this algorithm.">GetSymLinearSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a436c8f3d98eea4b608d3c61dd86726d6" title="Create a solver that can be used to solve a symmetric linear system.">SymLinearSolverFactory()</a> -&gt; custom_solver_ </p>

</div>
</div>
<a id="a4d83d92bfdc591752daae787112e0edd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d83d92bfdc591752daae787112e0edd">&#9670;&nbsp;</a></span>BuildEqMultiplierCalculator()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1EqMultiplierCalculator.html">EqMultiplierCalculator</a>&gt; Ipopt::AlgorithmBuilder::BuildEqMultiplierCalculator </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an instance of the <a class="el" href="classIpopt_1_1EqMultiplierCalculator.html" title="Base Class for objects that compute estimates for the equality constraint multipliers y_c and y_d.">EqMultiplierCalculator</a> class. </p>
<p>This method is called in the default implementation of BuildBasicAlgorithm. It can be overloaded to customize that portion the default algorithm. Dependencies: -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6847f5a0e9147c1de50dbe6c67229afb" title="Get the augmented system solver for this algorithm.">GetAugSystemSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a7fecc5ce0f8a0baee495d9f36416324c" title="Create a solver that can be used to solve an augmented system.">AugSystemSolverFactory()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6be3bf8b1423f7d20487a461bc3c3ad9" title="Get the symmetric linear system solver for this algorithm.">GetSymLinearSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a436c8f3d98eea4b608d3c61dd86726d6" title="Create a solver that can be used to solve a symmetric linear system.">SymLinearSolverFactory()</a> -&gt; custom_solver_ </p>

</div>
</div>
<a id="a2e6b45ff582a9f53b2f276bbe8772234"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e6b45ff582a9f53b2f276bbe8772234">&#9670;&nbsp;</a></span>BuildIterateInitializer()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1IterateInitializer.html">IterateInitializer</a>&gt; Ipopt::AlgorithmBuilder::BuildIterateInitializer </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an instance of the <a class="el" href="classIpopt_1_1IterateInitializer.html" title="Base class for all methods for initializing the iterates.">IterateInitializer</a> class. </p>
<p>This method is called in the default implementation of BuildBasicAlgorithm. It can be overloaded to customize that portion the default algorithm. Dependencies: -&gt; EqMultCalculator_ -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6847f5a0e9147c1de50dbe6c67229afb" title="Get the augmented system solver for this algorithm.">GetAugSystemSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a7fecc5ce0f8a0baee495d9f36416324c" title="Create a solver that can be used to solve an augmented system.">AugSystemSolverFactory()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6be3bf8b1423f7d20487a461bc3c3ad9" title="Get the symmetric linear system solver for this algorithm.">GetSymLinearSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a436c8f3d98eea4b608d3c61dd86726d6" title="Create a solver that can be used to solve a symmetric linear system.">SymLinearSolverFactory()</a> -&gt; custom_solver_ </p>

</div>
</div>
<a id="ad0f2e4da5b89ba9427a2e6c16b7c51e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0f2e4da5b89ba9427a2e6c16b7c51e6">&#9670;&nbsp;</a></span>BuildLineSearch()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1LineSearch.html">LineSearch</a>&gt; Ipopt::AlgorithmBuilder::BuildLineSearch </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an instance of the <a class="el" href="classIpopt_1_1LineSearch.html" title="Base class for line search objects.">LineSearch</a> class. </p>
<p>This method is called in the default implementation of BuildBasicAlgorithm. It can be overloaded to customize that portion the default algorithm. Dependencies: -&gt; EqMultCalculator_ -&gt; ConvCheck_ -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6847f5a0e9147c1de50dbe6c67229afb" title="Get the augmented system solver for this algorithm.">GetAugSystemSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a7fecc5ce0f8a0baee495d9f36416324c" title="Create a solver that can be used to solve an augmented system.">AugSystemSolverFactory()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6be3bf8b1423f7d20487a461bc3c3ad9" title="Get the symmetric linear system solver for this algorithm.">GetSymLinearSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a436c8f3d98eea4b608d3c61dd86726d6" title="Create a solver that can be used to solve a symmetric linear system.">SymLinearSolverFactory()</a> -&gt; custom_solver_ -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a3e7582ed62141c7adecc59dd2dc05927" title="Get the primal-dual system solver for this algorithm.">GetPDSystemSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a053ae9a86c5c4942a78a524883d99b00" title="Create a solver that can be used to solve a primal-dual system.">PDSystemSolverFactory()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6847f5a0e9147c1de50dbe6c67229afb" title="Get the augmented system solver for this algorithm.">GetAugSystemSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a7fecc5ce0f8a0baee495d9f36416324c" title="Create a solver that can be used to solve an augmented system.">AugSystemSolverFactory()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6be3bf8b1423f7d20487a461bc3c3ad9" title="Get the symmetric linear system solver for this algorithm.">GetSymLinearSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a436c8f3d98eea4b608d3c61dd86726d6" title="Create a solver that can be used to solve a symmetric linear system.">SymLinearSolverFactory()</a> -&gt; custom_solver_ </p>

</div>
</div>
<a id="aca97676a45d30990cc7331fa32f66d9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca97676a45d30990cc7331fa32f66d9f">&#9670;&nbsp;</a></span>BuildMuUpdate()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MuUpdate.html">MuUpdate</a>&gt; Ipopt::AlgorithmBuilder::BuildMuUpdate </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an instance of the <a class="el" href="classIpopt_1_1MuUpdate.html" title="Abstract Base Class for classes that implement methods for computing the barrier and fraction-to-the-...">MuUpdate</a> class. </p>
<p>This method is called in the default implementation of BuildBasicAlgorithm. It can be overloaded to customize that portion the default algorithm. Dependencies: -&gt; LineSearch_ -&gt; EqMultCalculator_ -&gt; ConvCheck_ -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a3e7582ed62141c7adecc59dd2dc05927" title="Get the primal-dual system solver for this algorithm.">GetPDSystemSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a053ae9a86c5c4942a78a524883d99b00" title="Create a solver that can be used to solve a primal-dual system.">PDSystemSolverFactory()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6847f5a0e9147c1de50dbe6c67229afb" title="Get the augmented system solver for this algorithm.">GetAugSystemSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a7fecc5ce0f8a0baee495d9f36416324c" title="Create a solver that can be used to solve an augmented system.">AugSystemSolverFactory()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a6be3bf8b1423f7d20487a461bc3c3ad9" title="Get the symmetric linear system solver for this algorithm.">GetSymLinearSolver()</a> -&gt; <a class="el" href="classIpopt_1_1AlgorithmBuilder.html#a436c8f3d98eea4b608d3c61dd86726d6" title="Create a solver that can be used to solve a symmetric linear system.">SymLinearSolverFactory()</a> -&gt; custom_solver_ </p>

</div>
</div>
<a id="ab11e150dab91f35013c5a6df6e490e5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab11e150dab91f35013c5a6df6e490e5d">&#9670;&nbsp;</a></span>GetHSLLoader()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1LibraryLoader.html">LibraryLoader</a>&gt; Ipopt::AlgorithmBuilder::GetHSLLoader </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gives Library Loader for HSL library if not all HSL routines are linked in. </p>
<p>Creates new loader if not existing yet. </p><dl class="section since"><dt>Since</dt><dd>3.14.0 </dd></dl>

</div>
</div>
<a id="a43dd8b351517c5aae6aac89ba24d7b6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43dd8b351517c5aae6aac89ba24d7b6a">&#9670;&nbsp;</a></span>GetPardisoLoader()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1LibraryLoader.html">LibraryLoader</a>&gt; Ipopt::AlgorithmBuilder::GetPardisoLoader </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gives Library Loader for Pardiso library from pardiso-project.org. </p>
<p>Creates new loader if not existing yet. </p><dl class="section since"><dt>Since</dt><dd>3.14.0 </dd></dl>

</div>
</div>
<a id="aaeaeac5231b27b60d8e609b381c34fd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaeaeac5231b27b60d8e609b381c34fd2">&#9670;&nbsp;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Ipopt::AlgorithmBuilder::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1AlgorithmBuilder.html">AlgorithmBuilder</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Assignment Operator. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a25b5ea1d912348a3366d15b2250b167d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25b5ea1d912348a3366d15b2250b167d">&#9670;&nbsp;</a></span>IterOutput_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1IterationOutput.html">IterationOutput</a>&gt; Ipopt::AlgorithmBuilder::IterOutput_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00383">383</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="aa2dd530dc64edd2e192df383cb9493d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2dd530dc64edd2e192df383cb9493d8">&#9670;&nbsp;</a></span>HessUpdater_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1HessianUpdater.html">HessianUpdater</a>&gt; Ipopt::AlgorithmBuilder::HessUpdater_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00384">384</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="a59a5e839ff6dfaa30265f52b9234f6c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59a5e839ff6dfaa30265f52b9234f6c7">&#9670;&nbsp;</a></span>ConvCheck_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1ConvergenceCheck.html">ConvergenceCheck</a>&gt; Ipopt::AlgorithmBuilder::ConvCheck_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00385">385</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="a8f0d0f22e70d38806921299599ee759d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f0d0f22e70d38806921299599ee759d">&#9670;&nbsp;</a></span>SearchDirCalc_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1SearchDirectionCalculator.html">SearchDirectionCalculator</a>&gt; Ipopt::AlgorithmBuilder::SearchDirCalc_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00386">386</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="a1a5ae0ad7cc06b68d9bf7d8959b98541"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a5ae0ad7cc06b68d9bf7d8959b98541">&#9670;&nbsp;</a></span>EqMultCalculator_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1EqMultiplierCalculator.html">EqMultiplierCalculator</a>&gt; Ipopt::AlgorithmBuilder::EqMultCalculator_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00387">387</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="a4da0e00ff35e8f9b1db5ed4943f2e68d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4da0e00ff35e8f9b1db5ed4943f2e68d">&#9670;&nbsp;</a></span>IterInitializer_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1IterateInitializer.html">IterateInitializer</a>&gt; Ipopt::AlgorithmBuilder::IterInitializer_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00388">388</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="ad8aba5dc5217f849feb116a269746f22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8aba5dc5217f849feb116a269746f22">&#9670;&nbsp;</a></span>LineSearch_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1LineSearch.html">LineSearch</a>&gt; Ipopt::AlgorithmBuilder::LineSearch_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00389">389</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="ac4b42bf9d3d0fe823cb565e8bd0a445d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4b42bf9d3d0fe823cb565e8bd0a445d">&#9670;&nbsp;</a></span>MuUpdate_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MuUpdate.html">MuUpdate</a>&gt; Ipopt::AlgorithmBuilder::MuUpdate_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00390">390</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="a8ce5db5fee1a45eb5002a6201d2ee18e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ce5db5fee1a45eb5002a6201d2ee18e">&#9670;&nbsp;</a></span>SymSolver_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1SymLinearSolver.html">SymLinearSolver</a>&gt; Ipopt::AlgorithmBuilder::SymSolver_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00398">398</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="ab0742230fea632ba454d0131313f1b4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0742230fea632ba454d0131313f1b4f">&#9670;&nbsp;</a></span>AugSolver_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1AugSystemSolver.html">AugSystemSolver</a>&gt; Ipopt::AlgorithmBuilder::AugSolver_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00399">399</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="aeaac1bde5d745bd769a2d79edad33a95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeaac1bde5d745bd769a2d79edad33a95">&#9670;&nbsp;</a></span>PDSolver_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1PDSystemSolver.html">PDSystemSolver</a>&gt; Ipopt::AlgorithmBuilder::PDSolver_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00400">400</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="a5ec5728bfc607550d2aa959ea21c0aeb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ec5728bfc607550d2aa959ea21c0aeb">&#9670;&nbsp;</a></span>custom_solver_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1AugSystemSolver.html">AugSystemSolver</a>&gt; Ipopt::AlgorithmBuilder::custom_solver_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Optional pointer to <a class="el" href="classIpopt_1_1AugSystemSolver.html" title="Base class for Solver for the augmented system.">AugSystemSolver</a>. </p>
<p>If this is set in the constructor, we will use this to solve the linear systems. </p>

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00405">405</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="a7c46e3b2a67ff8821ade55e75d4b1f5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c46e3b2a67ff8821ade55e75d4b1f5e">&#9670;&nbsp;</a></span>custom_solver_name_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Ipopt::AlgorithmBuilder::custom_solver_name_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00406">406</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="a6e27141c7973772601b94ba6951ded3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e27141c7973772601b94ba6951ded3a">&#9670;&nbsp;</a></span>linear_solver</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string Ipopt::AlgorithmBuilder::linear_solver</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>name of linear solver constructed in SymLinearSolverFactory </p>

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00409">409</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="a85319d417ac6fd8e8ced7bf1a7f32425"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85319d417ac6fd8e8ced7bf1a7f32425">&#9670;&nbsp;</a></span>hslloader</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1LibraryLoader.html">LibraryLoader</a>&gt; Ipopt::AlgorithmBuilder::hslloader</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>loader of HSL library (at runtime) </p>

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00412">412</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<a id="a7580ffc652324bb5b198ff50cc0110ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7580ffc652324bb5b198ff50cc0110ec">&#9670;&nbsp;</a></span>pardisoloader</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1LibraryLoader.html">LibraryLoader</a>&gt; Ipopt::AlgorithmBuilder::pardisoloader</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>loader of Pardiso library (at runtime) </p>

<p class="definition">Definition at line <a class="el" href="IpAlgBuilder_8hpp_source.html#l00414">414</a> of file <a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Algorithm/<a class="el" href="IpAlgBuilder_8hpp_source.html">IpAlgBuilder.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</body>
</html>
